package com.vhr.service;

import com.vhr.VO.OvertimeAdminVo;
import com.vhr.VO.OvertimeVO;
import com.vhr.entities.Employee;
import com.vhr.entities.Overtime;

import java.util.Date;
import java.util.List;

/**
 * @Name OvertimeService
 * @Description:
 * @Author: CHAO
 * @Date: 2019/9/24
 */
public interface IOvertimeService {
    //根据员工姓名，加班申请状态和部门查询加班申请信息
    List<OvertimeAdminVo> selectByDeptAndStatusAndName(Integer deptId,Integer status,String empName);
    //查询所有加班申请
    List<OvertimeAdminVo> selectAll();
    //  查询管理员已经审批过的加班申请
    List<OvertimeAdminVo> selectOperated();
    //查询管理员未审批的加班申请
    List<OvertimeAdminVo> selectNoOperated();
    //根据员工外键查询员工加班信息
    List<Overtime> selectByEmployee(Employee emp);
    //根据员工外键和加班日期查找加班记录
    Overtime selectOvertimeByEmpIdAndOverTime(Integer empId, Date overTime);
    //插入加班信息（申请加班）
    int addOvertime(Overtime overtime);
    //审批加班
    int judegOvertime(Overtime overtime, Employee admin,Integer status);
    //根据主键更改信息
    int updateByPrimary(Overtime overtime);
    //根据主键删除信息
    int deleteByPrimary(Overtime overtime);

    // 员工查看自己的请假记录
    List<OvertimeAdminVo> selectPersonOvertime(int empId);
//    员工条件查看自己的加班记录
    List<Overtime> selectPersonOvertimeByStatus(int empId, int status);

}
